There are many applications in which it is desirable to associate data with a specific timepoint in a video. For example, closed captioning associates data for text with timepoints for when words corresponding to the text are spoken in a video, video bookmarking associates data for a location in the video with a timepoint of the video for later reference, advertisement insertion associates advertisement content with a timepoint in a video corresponding to a desired location for the advertisement to be displayed, video annotation associates metadata, a note, additional information or content, and the like with a timepoint in a video where a respective annotation is relevant or appropriate, among others. In each of these examples, it is important that the respective data item is associated with the correct timepoint. Once this data is associated with respective timepoints in a video, it can further be desirable to propagate this data to other versions of the video. Since other versions of the video often contain additional or deleted content (e.g., new or deleted scenes, advertisements, etc.), the timepoints between a first version of the video might not match the timpoints of a second version of the video.